package com.osce.interfaces.basic;

import com.baomidou.mybatisplus.extension.service.IService;
import com.csce.domain.entity.basic.TabAssetInventoryConsumable;
import com.csce.domain.entity.basic.TabAssetOutOrder;

import java.util.List;

/**
 * 耗材出库Service接口
 *
 * @author hdj
 * @since 2025-11-16
 */
public interface ITabAssetOutOrderService extends IService<TabAssetOutOrder> {

    /**
     * 查询耗材出库
     *
     * @param id 耗材出库主键
     * @return 耗材出库
     */
    TabAssetOutOrder selectTabAssetOutOrderById(String id);



    /**
     * 根据订单id查询出库单详情
     * @param orderId
     * @return
     */
    List<TabAssetInventoryConsumable> selectTabAssetOutOrderByOrderId(String orderId);

    /**
     * 查询耗材出库列表
     *
     * @param tabAssetOutOrder 耗材出库
     * @return 耗材出库集合
     */
    List<TabAssetOutOrder> selectTabAssetOutOrderList(TabAssetOutOrder tabAssetOutOrder);

    /**
     * 新增耗材出库
     *
     * @param tabAssetOutOrder 耗材出库
     * @return 结果
     */
    int insertTabAssetOutOrder(TabAssetOutOrder tabAssetOutOrder);

    /**
     * 修改耗材出库
     *
     * @param tabAssetOutOrder 耗材出库
     * @return 结果
     */
    int updateTabAssetOutOrder(TabAssetOutOrder tabAssetOutOrder);

    /**
     * 批量删除耗材出库
     *
     * @param ids 需要删除的耗材出库主键集合
     * @return 结果
     */
    int deleteTabAssetOutOrderByIds(String[] ids);

    /**
     * 删除耗材出库信息
     *
     * @param id 耗材出库主键
     * @return 结果
     */
    int deleteTabAssetOutOrderById(String id);
}
